前言:寫在 30 天挑戰之前
每年報名 iThome 鐵人賽,大家都知道最難的不是寫出多麼深奧的架構,而是「連續 30 天不中斷的自律」。
過去幾年,軟體工程領域經歷了巨大震盪。從大型語言模型(LLM)的爆發,到 GitHub Copilot、ChatGPT 的普及,寫程式這件事的本質正在發生轉變——從純粹的「手動敲出每一行語法」,轉變成「架構規劃、邏輯引導與程式審查(Code Review)」。
在接下來的 30 天裡,我不會只把 ChatGPT 當成一個「問答百科」,也不會單純將 Copilot 當作一般的自動補全工具。這個系列專注於 「如何將 AI 深度融入日常工程流」,從提示詞工程、演算法拆解、代碼重構、單元測試生成,一路走到資安防護與架構整合。
一、從語法打字員到「AI 領航員」
過去學習寫程式的痛點往往在於:
語法記憶成本高:為了一個忘記名稱的 API 或複雜的正規表達式(Regex),得在 Stack Overflow 翻找半小時。
除錯消耗心力:遇到看不懂的堆疊追蹤(Stack Trace)或空指標(Null Pointer),需要逐行下斷點猜測狀態。
邊界條件遺漏:寫演算法或商務邏輯時,常忽略邊界案例,導致測試覆蓋率不足。
而現代代碼模型(如 OpenAI Codex 架構系列、ChatGPT 背後的 GPT 家族)本質上具備強大的語意理解與程式碼轉換能力:
自然語言 → 程式碼:將模糊的商務邏輯轉化為精確的骨架代碼。
程式碼 → 自然語言:快速解析開源專案中晦澀的 Legacy Code,總結架構與調用邏輯。
程式碼 → 程式碼:在不同程式語言之間轉譯、進行重構、或是直接產出單元測試。
這意味著工程師的角色正在轉移:我們不再只是打字員,而是主導邏輯方向與進行品質把關的領航員。
二、工程師該如何正確看待 AI 工具?
許多人剛接觸 AI 寫代碼時容易陷入兩種極端:
過度依賴:完全不看生成內容直接複製貼上(Copy-Paste),結果踩中幻覺(Hallucination)或埋下資安漏洞。
全面排斥:因為 AI 偶爾給出錯誤語法或過時函式庫,便認定 AI 無法投入實際開發。
比較健康的合作思維是建立 「三層過濾漏斗」:
精準引導(Input):用結構化的 Prompt 提供充足的背景資訊、輸入輸出格式與約束條件。
邏輯生成(Processing):由 AI 在幾秒內快速完成粗胚程式碼、正則表達式或樣板代碼(Boilerplate)。
人工檢驗(Verification):工程師以自身的計算機科學基礎,驗證時間複雜度、記憶體開銷、邊界條件與安全性。
三、未來 30 天的實踐地圖
為了讓這 30 天有節奏且可落地,本系列將內容分為六大模組:
模組一:工具配置與免費資源極大化(Day 1 - 5)
介紹免費模型資源、學生開發者方案(如 GitHub Copilot 免費申請),以及核心提示詞架構。
模組二:演算法思維與資料結構解題(Day 6 - 11)
拒絕死背解答,示範如何引導 AI 一步步拆解題目邊界、分析時間與空間複雜度,並將暴力解優化至極致。
模組三:代碼重構、維護與除錯(Day 12 - 17)
利用 AI 消除 Code Smell、重構陳年 If-Else、實踐設計模式與自動補全技術文件。
模組四:全端、資料庫與 API 輔助(Day 18 - 23)
自然語言轉 SQL、快速產出 Mock Data、Swagger 規格與前後端請求代碼。
模組五:單元測試、自動化與資安防護(Day 24 - 28)
自動化補全邊界測試、防範 Prompt Injection 攻擊與檢驗代碼漏洞。
模組六:綜合實作與完賽總結(Day 29 - 30)
整合人機協同工作流,完成專案架構規劃與成果複盤。
今日小結與預告
今天我們釐清了「AI 輔助開發」的核心思維——AI 是放大思考槓桿的工具,而主導權始終在工程師手中。
明天的 Day 02,我們將進入實戰準備:「學生專屬福利:申請並在 VS Code 啟用 GitHub Copilot(與免費替代方案比較)」,一步步配置好開發環境,讓 IDE 準備就緒!